#include "halt.h"


void stop_run(){
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR , ENABLE);//开电源管理时钟
	// PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI);//进入停机模式
    PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);//低压调解器模式
}

void SYSCLKConfig_STOP(void)
{
    // 启用HSE
    RCC_HSEConfig(RCC_HSE_ON);

    // 等待HSE就绪
    while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET)
    {
    }

    // 使能PLL
    RCC_PLLCmd(ENABLE);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
    // 等待PLL就绪
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
		
    }

    // 选择PLL作为系统时钟源
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

    // 等待PLL被选择为系统时钟源
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
}


// void RCCCLOCK_Init(void)
// {
// 	ErrorStatus HSEstatue;
// 	//1 复位时钟
// 	RCC_DeInit();
	
// 	//2 HSE使能并等待其就绪
// 	RCC_HSEConfig(RCC_HSE_ON);
// 	HSEstatue = RCC_WaitForHSEStartUp();
	
// 	if(HSEstatue==SUCCESS)
// 	{
// 		//3 使能预取指、配置等待周期
// 		FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
// 		FLASH_SetLatency(FLASH_Latency_2);
		
// 		//4 配置时钟来源和倍频系数
// 		RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_2);
		
// 		//5 使能PLL并等待PLL稳定
// 		RCC_PLLCmd(ENABLE);
// 		while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);
		
// 		//6 选择系统时钟
// 		RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// 		while(RCC_GetSYSCLKSource() != 0x08);
		
// 		//7 设置HCLK,PCLK1,PCLK2时钟
// 		RCC_HCLKConfig(RCC_SYSCLK_Div1);
// 		RCC_PCLK1Config(RCC_HCLK_Div2);
// 		RCC_PCLK2Config(RCC_HCLK_Div1);
		
// 	}
// 	else
// 	{
// 		//时钟配置不成功执行此处程序
// 	}
// }
